#ifndef STATUSEFFECT_H
#define STATUSEFFECT_H

class Entity;

enum StatusEffectType {HEALING, DEFENDING, FOO, BURNING};

class StatusEffect
{
    public:
        StatusEffect(StatusEffectType type, int duration, int magnitude, Entity *ownerEntity);
        virtual ~StatusEffect();
        StatusEffectType GetType() {return type;}
        int GetDuration() { return duration; };
        void SetDuration(int val) { duration = val; }
        int GetMagnitude() { return magnitude; }
        void Setmagnitude(int val) { magnitude = val; }
        void ClockTick();
        void Display();
        void ExecuteStatusEffects();
        void UpdateStatusEffects();

    protected:

    private:
        int duration;
        int magnitude; // This is currently not used, but will be later
        StatusEffectType type;
        Entity *ownerEntity;
};


#endif // STATUSEFFECT_H
